Marte Framework: a Middleware for Real-time Applications Development

نویسندگان

  • A. Neto
  • D. Alves
چکیده

The Multi-threaded Application Real-Time executor (MARTe) is a C++ framework that provides a development environment for the design and deployment of real-time applications, e.g. control systems. The kernel of MARTe comprises a set of data-driven independent blocks, connected using a shared bus. This modular design enforces a clear boundary between algorithms, hardware interaction and system configuration. The architecture, being multi-platform, facilitates the test and commissioning of new systems, enabling the execution of plant models in offline environments and with the hardware-in-the-loop, whilst also providing a set of nonintrusive introspection and logging facilities. Furthermore, applications can be developed in non real-time environments and deployed in a real-time operating system, using exactly the same code and configuration data. The framework is already being used in several fusion experiments, with control cycles ranging from 50 microseconds to 10 milliseconds exhibiting jitters of less than 2%, using VxWorks R ©, RTAI or Linux. Codes can also be developed and executed in Microsoft Windows R © and Solaris R ©. This paper discusses the main design concepts of MARTe, in particular the architectural choices which enabled the combination of real-time accuracy, performance and robustness with complex and modular data driven applications. ∗ See the Appendix of F. Romanelli et al., Proceedings of the 23rd IAEA Fusion Energy Conference 2010, Daejeon, Korea INTRODUCTION MARTe [1] is a framework tailored at the design and development of real-time control systems. The kernel of MARTe uses a C++ multi-platform library named BaseLib2 [2]. The main ideas behind the original design of the framework were the modularity and portability of its applications. In particular, a strong effort was made in order to allow a robust simulation environment that allows both the models to be simulated with the hardware in the loop and the control algorithms to be validated offline. This is achieved by providing a clear development boundary between the algorithms, hardware and system configuration. Being multi-platform it also allows to debug and develop in non-real-time environments, where better developing tools are usually available. Currently the framework runs in Linux, Linux with RTAI [3], VxWorks R © for PowerPC R ©, Solaris R © and Microsoft R © Windowstm. The framework components are configured using a common language, designed to be as simple as possible, but complete enough to provide a clear way of describing the problem. The structure is similar to XML, where the syntax rules are validated by a BaseLib2 parser, whereas the actual validity of the arguments is performed by the component (i.e. no validation schema is available). An example of a configuration is shown in Listing 1. The configuration file is translated into a database of named objects that can be browsed using the object addresses in the database. By parsing the configuration file, the framework automatically creates and configures instances of all the declared objects. A messaging mechanism uses the database to provide a standard interface for communication between objects. This is the preferred , Culham Science Centre, OX14 3DB, Abingdon, UK Proceedings of ICALEPCS2011, Grenoble, France THDAULT06 Embedded + realtime software 1277 C op yr ig ht c ○ 20 11 by th e re sp ec tiv e au th or s— cc C re at iv e C om m on sA tt ri bu tio n 3. 0 (C C B Y 3. 0) +H t t p S e r v e r = { C l a s s = H t t p S e r v i c e P o r t = 8084 } +MARTe = { C l a s s = MARTeContainer +RTThread1 = { C l a s s = RealTimeThread +SurfaceTemperature WOPL 14 = { C l a s s = S u r f a c e T e m p e r a t u r e 1 D C a l c u l a t i o n S p e c i f i c H e a t = 1 . 925000 e+03 T h e r m a l C o n d u c t i v i t y = 1 . 900000 e+02 Del taT = 0 . 0 1 N s l i c e s = 40 Inpu tS igna l N a m e s = { 0 = {Q WOPL 14 } } Outpu tS igna lNam es = { 0 = { SurfaceTemperature WOPL 14 } } } +D i v e r t o r T h e r m a l C a l c u l a t i o n s = { . . . W a l l s P o w e r P a r t i t i o n C l a s s = { Type = W a l l s P o w e r P a r t i t i o n C l a s s P a r t i t i o n T a b l e = { 0 = { 0 = { 0 . 3 0 . 3 0 . 3 0 . 3 } 1 = { 0 . 7 0 . 7 0 . 7 0 . 7 } } . . } . . . } } . . . Listing 1: A small fraction of a configuration file from the real-system responsible for the JET plasma wall load protection system (WALLS).

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Generation of Abstract IP/XACT Platform Descriptions from UML/MARTE for System-Level Performance Estimation Towards a MARTE to IP/XACT Generation Framework of HW platform descriptions for a DSE Multi- level Performance Estimation Framework

UML/MARTE is enabling the development of methodologies for the specification of a whole real-time system, and of holistic MDA methodologies where the UML/MARTE description is taken as the source for different design activities, such as system-level performance estimation and implementation refinement. A crucial issue to make these methodologies working and efficient is the development of tools,...

متن کامل

A Flight Software Development and Simulation Framework for Advanced Space Systems

Distributed terrestrial computer systems employ middleware software to provide communications abstractions and reduce software interface complexity. Embedded applications are adopting the same approaches, but must make provisions to ensure that hard real-time temporal performance can be maintained. This thesis presents the development and validation of a middleware system tailored to spacecraft...

متن کامل

Middleware Support for Adaptive Real-Time Applications in Wireless Sensor Networks

This position paper describes initial efforts and ideas for the development of a middleware framework to support the operation of adaptive Wireless Sensor Networks applications with real-time and dependability requirements. We identify a set of underlying services that need to be implemented as part of this framework, explaining why they are needed and what they provide. In order to illustrate ...

متن کامل

Application of time concepts from the MARTE profile in a Model- Driven Development case study

Behavior of a complex system can be designed using state machines of the system classes. Using a Model-Driven Development approach models are transformed into an executable code. Structural and behavioral models can be extended with time concepts from the Modeling and Analysis of Real-Time and Embedded Systems (MARTE) profile. The refined models are used in transformation. We presented a case s...

متن کامل

Michael González Harbour: MaRTE OS: An Ada Kernel for Real-Time Embedded Applications

MaRTE OS (Minimal Real-Time Operating System for Embedded Applications) is a real-time kernel for embedded applications that follows the Minimal Real-Time POSIX.13 subset, providing both the C and Ada language POSIX interfaces. It allows cross-development of Ada and C real-time applications. Mixed Ada-C applications can also be developed, with a globally consistent scheduling of Ada tasks and C...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2012